When you want an override-redirect window, you create it that way.
Changing that behavior is not supported anywhere (but on X of course).
<SUBSECTION>
gdk_window_set_user_data
-gdk_window_set_override_redirect
gdk_window_set_accept_focus
gdk_window_get_accept_focus
gdk_window_set_focus_on_map
{
}
-
-static void
-gdk_broadway_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
-}
-
static void
gdk_broadway_window_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
impl_class->set_startup_id = gdk_broadway_window_set_startup_id;
impl_class->set_transient_for = gdk_broadway_window_set_transient_for;
impl_class->get_frame_extents = gdk_broadway_window_get_frame_extents;
- impl_class->set_override_redirect = gdk_broadway_window_set_override_redirect;
impl_class->set_accept_focus = gdk_broadway_window_set_accept_focus;
impl_class->set_focus_on_map = gdk_broadway_window_set_focus_on_map;
impl_class->set_icon_list = gdk_broadway_window_set_icon_list;
* gdk_window_move_resize().
*
* Note that on X11, this effect has no effect on windows
- * of type %GDK_WINDOW_TEMP or windows where override redirect
- * has been turned on via gdk_window_set_override_redirect()
- * since these windows are not resizable by the user.
+ * of type %GDK_WINDOW_TEMP since these windows are not resizable
+ * by the user.
*
* Since you can’t count on the windowing system doing the
* constraints for programmatic resizes, you should generally
GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_frame_extents (window, rect);
}
-/**
- * gdk_window_set_override_redirect:
- * @window: a toplevel #GdkWindow
- * @override_redirect: %TRUE if window should be override redirect
- *
- * An override redirect window is not under the control of the window manager.
- * This means it won’t have a titlebar, won’t be minimizable, etc. - it will
- * be entirely under the control of the application. The window manager
- * can’t see the override redirect window at all.
- *
- * Override redirect should only be used for short-lived temporary
- * windows, such as popup menus. #GtkMenu uses an override redirect
- * window in its implementation, for example.
- *
- **/
-void
-gdk_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
- GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_override_redirect (window, override_redirect);
-}
-
/**
* gdk_window_set_accept_focus:
* @window: a toplevel #GdkWindow
void gdk_window_set_user_data (GdkWindow *window,
gpointer user_data);
GDK_AVAILABLE_IN_ALL
-void gdk_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect);
-GDK_AVAILABLE_IN_ALL
gboolean gdk_window_get_accept_focus (GdkWindow *window);
GDK_AVAILABLE_IN_ALL
void gdk_window_set_accept_focus (GdkWindow *window,
GdkWindow *parent);
void (* get_frame_extents) (GdkWindow *window,
GdkRectangle *rect);
- void (* set_override_redirect) (GdkWindow *window,
- gboolean override_redirect);
void (* set_accept_focus) (GdkWindow *window,
gboolean accept_focus);
void (* set_focus_on_map) (GdkWindow *window,
//g_printerr ("gdk_mir_window_impl_get_frame_extents window=%p\n", window);
}
-static void
-gdk_mir_window_impl_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
- //g_printerr ("gdk_mir_window_impl_set_override_redirect window=%p\n", window);
-}
-
static void
gdk_mir_window_impl_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
impl_class->set_startup_id = gdk_mir_window_impl_set_startup_id;
impl_class->set_transient_for = gdk_mir_window_impl_set_transient_for;
impl_class->get_frame_extents = gdk_mir_window_impl_get_frame_extents;
- impl_class->set_override_redirect = gdk_mir_window_impl_set_override_redirect;
impl_class->set_accept_focus = gdk_mir_window_impl_set_accept_focus;
impl_class->set_focus_on_map = gdk_mir_window_impl_set_focus_on_map;
impl_class->set_icon_list = gdk_mir_window_impl_set_icon_list;
/* FIXME: Implement */
}
-static void
-gdk_quartz_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
- /* FIXME: Implement */
-}
-
static void
gdk_quartz_window_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
impl_class->set_startup_id = gdk_quartz_window_set_startup_id;
impl_class->set_transient_for = gdk_quartz_window_set_transient_for;
impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents;
- impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect;
impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus;
impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map;
impl_class->set_icon_list = gdk_quartz_window_set_icon_list;
};
}
-static void
-gdk_wayland_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
-}
-
static void
gdk_wayland_window_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
impl_class->set_startup_id = gdk_wayland_window_set_startup_id;
impl_class->set_transient_for = gdk_wayland_window_set_transient_for;
impl_class->get_frame_extents = gdk_wayland_window_get_frame_extents;
- impl_class->set_override_redirect = gdk_wayland_window_set_override_redirect;
impl_class->set_accept_focus = gdk_wayland_window_set_accept_focus;
impl_class->set_focus_on_map = gdk_wayland_window_set_focus_on_map;
impl_class->set_icon_list = gdk_wayland_window_set_icon_list;
GdkWin32Display *display_win32;
const gchar *title;
wchar_t *wtitle;
- gboolean override_redirect;
gint window_width, window_height;
gint offset_x = 0, offset_y = 0;
gint x, y, real_x = 0, real_y = 0;
g_assert (attributes->y == window->y);
remaining_mask &= ~GDK_WA_Y;
}
- override_redirect = FALSE;
- if ((attributes_mask & GDK_WA_NOREDIR) != 0)
- {
- override_redirect = !!attributes->override_redirect;
- remaining_mask &= ~GDK_WA_NOREDIR;
- }
- if ((remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
+ if ((remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
g_warning ("_gdk_window_impl_new: uexpected attribute 0x%X",
- remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT));
+ remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT));
hparent = GDK_WINDOW_HWND (real_parent);
impl->wrapper = GDK_WINDOW (window);
window->impl = GDK_WINDOW_IMPL (impl);
- impl->override_redirect = override_redirect;
impl->layered = FALSE;
impl->layered_opacity = 1.0;
window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
if (!already_mapped &&
GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
- (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0 &&
- !window_impl->override_redirect)
+ (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0)
{
gboolean center = FALSE;
RECT window_rect, center_on_rect;
}
if (!already_mapped &&
- GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
- !window_impl->override_redirect)
+ GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
{
/* Ensure new windows are fully onscreen */
RECT window_rect;
SetWindowRgn (GDK_WINDOW_HWND (window), hrgn, TRUE);
}
-static void
-gdk_win32_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
- GdkWindowImplWin32 *window_impl;
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
-
- window_impl->override_redirect = !!override_redirect;
-}
-
static void
gdk_win32_window_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
//impl_class->set_startup_id = gdk_x11_window_set_startup_id;
impl_class->set_transient_for = gdk_win32_window_set_transient_for;
impl_class->get_frame_extents = gdk_win32_window_get_frame_extents;
- impl_class->set_override_redirect = gdk_win32_window_set_override_redirect;
impl_class->set_accept_focus = gdk_win32_window_set_accept_focus;
impl_class->set_focus_on_map = gdk_win32_window_set_focus_on_map;
impl_class->set_icon_list = gdk_win32_window_set_icon_list;
guint zero_margins : 1;
guint no_bg : 1;
guint inhibit_configure : 1;
- guint override_redirect : 1;
/* Set to TRUE if window is using true layered mode adjustments
* via UpdateLayeredWindow().
#endif
}
-
-static void
-gdk_x11_window_set_override_redirect (GdkWindow *window,
- gboolean override_redirect)
-{
- XSetWindowAttributes attr;
-
- if (!GDK_WINDOW_DESTROYED (window) &&
- WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
- {
- GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl);
-
- attr.override_redirect = (override_redirect? True : False);
- XChangeWindowAttributes (GDK_WINDOW_XDISPLAY (window),
- GDK_WINDOW_XID (window),
- CWOverrideRedirect,
- &attr);
-
- impl->override_redirect = attr.override_redirect;
- }
-}
-
static void
gdk_x11_window_set_accept_focus (GdkWindow *window,
gboolean accept_focus)
impl_class->set_startup_id = gdk_x11_window_set_startup_id;
impl_class->set_transient_for = gdk_x11_window_set_transient_for;
impl_class->get_frame_extents = gdk_x11_window_get_frame_extents;
- impl_class->set_override_redirect = gdk_x11_window_set_override_redirect;
impl_class->set_accept_focus = gdk_x11_window_set_accept_focus;
impl_class->set_focus_on_map = gdk_x11_window_set_focus_on_map;
impl_class->set_icon_list = gdk_x11_window_set_icon_list;